11 research outputs found

    PER-MARE: Adaptive Deployment of MapReduce over Pervasive Grids

    No full text
    International audienceMapReduce is a parallel programming paradigm successfully used to perform computations on massive amounts of data, being widely deployed on clusters, grid, and cloud infrastructures. Interestingly, while the emergence of cloud in- frastructures has opened new perspectives, several enterprises hesitate to put sensible data on the cloud and prefer to rely on internal resources. In this paper we introduce the PER- MARE initiative, which aims at proposing scalable techniques to support existent MapReduce data-intensive applications in the context of loosely coupled networks such as pervasive and desktop grids. By relying on the MapReduce programming model, PER-MARE proposes to explore the potential advan- tages of using free unused resources available at enterprises as pervasive grids, alone or in a hybrid environment. This paper presents the main lines that orient the PER-MARE approach and some preliminary results

    MAPREDUCE CHALLENGES ON PERVASIVE GRIDS

    No full text
    International audienceThis study presents the advances on designing and implementing scalable techniques to support the development and execution of MapReduce application in pervasive distributed computing infrastructures, in the context of the PER-MARE project. A pervasive framework for MapReduce applications is very useful in practice, especially in those scientific, enterprises and educational centers which have many unused or underused computing resources, which can be fully exploited to solve relevant problems that demand large computing power, such as scientific computing applications, big data processing, etc. In this study, we pro-pose the study of multiple techniques to support volatility and heterogeneity on MapReduce, by applying two complementary approaches: Improving the Apache Hadoop middleware by including context-awareness and fault-tolerance features; and providing an alternative pervasive grid implementation, fully adapted to dynamic environments. The main design and implementation decisions for both alternatives are described and validated through experiments, demonstrating that our approaches provide high reliability when executing on pervasive environments. The analysis of the experiments also leads to several insights on the requirements and constraints from dynamic and volatile systems, reinforcing the importance of context-aware information and advanced fault-tolerance features to provide efficient and reliable MapReduce services on pervasive grids

    Reliable broadcast protocols experimentation and evaluation environment (ADC)

    No full text
    Uma tendência recente em sistemas de computação é distribuir a computação entre diversos processadores físicos. Isto conduz a dois tipos de sistemas: sistemas fortemente acoplados e sistemas fracamente acoplados. Este trabalho enfoca os sistemas de computação classificados como fracamente acoplados, ou sistemas distribuídos, como são popularmente conhecidos. Um sistema distribuído, segundo [BAB 86], pode ser definido como um conjunto de processadores autônomos que não compartilham memória, não tem acesso a clocks' globais e cuja comunicação é realizada somente por troca de mensagens. As exigências intrínsecas de sistemas distribuídos compreendem a confiabilidade e a disponibilidade. Estas exigências tem levado a um crescente interesse em técnicas de tolerância a falhas, cujo objetivo é manter a consistência do sistema distribuído, mesmo na ocorrência de falhas. Uma técnica de tolerância a falhas amplamente utilizada em sistemas distribuídos é a técnica de difusão confiável. A difusão confiável é uma técnica de redundância de software, onde um processador dissemina um valor para os demais processadores em um sistema distribuído, o qual esta sujeito a falhas [BAB 85]. Por ser uma técnica básica de comunicação, diversos procedimentos de tolerância a falhas baseiam-se em difusão confiável. Este trabalho descreve a implementação de um ambiente de apoio a sistemas distribuídos intitulado Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável (ADC). Neste ambiente são utilizados os recursos da difusão confiável para a obtenção de uma concordância entre todos os membros do sistema livres de falha. Esta concordância, conhecida como consenso, é obtida através de algoritmos de consenso, os quais visam introduzir o grau de confiabilidade exigido pelos sistemas distribuídos. O ADC (Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável) foi desenvolvido em estações de trabalho SUN (SunOS) utilizando o sistema operacional de rede heterogêneo HetNOS [BAA 93] desenvolvido na UFRGS. O ambiente foi implementado com base em um estudo realizado sobre protocolos de difusão confiável [BAR 94]. Através da implementação do ADC e possível simular a execução de protocolos de difusão confiável aplicando modelos propostos para os mesmos. Desta execução são extraídos resultados, sobre os quais pode-se realizar uma analise. Esta análise tem sua fundamentação principalmente nos parâmetros de desempenho, confiabilidade e complexidade. Tanto a implementação do ADC como a realização da analise do modelo proposto foram realizados tendo como suporte alguns dos protocolos de difusão confiável disponíveis na literatura. O principal objetivo deste ambiente consiste na experimentação, ou seja, na verificação da relação teórico-prática dos sistemas distribuídos perante a utilização de uma técnica de redundância de software, a difusão confiável. Através deste ambiente torna-se possível a determinação de parâmetros tais como o número de mensagens de difusão trocadas entre os processos, o número de mensagens de retransmissão enviadas, o número de mensagens emitidas durante todo o processamento do modelo, etc. Estes parâmetros resultam numa analise consistente de protocolos de difusão confiável.A recent trend in computing systems is to distribute the computation between several physical processors. This leads to two different systems: closely coupled systems and loosely coupled systems. This work focuses on computing systems classified as loosely coupled or distributed systems, as they are commonly known. According to [BAB 86], a distributed system can be defined as a set of autonomous processors with no shared memory, no global clocks and whose comunication is performed only by message exchange. The inherent requirements of distributed systems include reliability and availability. These have caused an increasing interest in fault tolerance techniques, whose goal is to keep the distributed system consistent despite failures. A fault tolerance technique largely used in distributed systems is reliable broadcast. Reliable broadcast is a software redundancy technique, where a processor disseminates a value to other processors in a distributed system, in which failures can occur [BAB85]. Because it is a basic communication technique, several fault tolerance procedures are based on reliable broadcast. This work describes the implementation of a support environment for distributed systems called Reliable Broadcast Protocols Experimentation and Evaluation Environment (ADC). Reliable broadcast resources are used in this environment to obtain an agreement among all off-failure system components. This agreement, called consensus, has been obtained through consensus algorithms, which aim to introduce the reliability degree required in distributed systems. The ADC has been developed in Sun workstation (SunOS) using the heterogeneous operating system HetNOS [BAA 93] which was developed at UFRGS. The environment has been implemented based on a research about reliable broadcast protocols [BAR 94]. Through the ADC it is possible to simulate the execution of reliable broadcast protocols applying proposed models to them. From this execution results are extracted, and over them analysis can be done. This analysis has been based essentialy in parameters such as performance, reliability and complexity. Some classical reliable broadcast protocols were used as a support to ADC implementation and model analysis. The main goal of this environment consists in validating diffusion protocols in a practical distributed systems environment, facing reliable broadcast. Through this environment it can be possible the analysis of important parameters resolution such as the number of messages exchanged between process, the number of retransmission of messages sent, the number of messages sent during the whole model processing, others. These parameters result in a consistent analysis of reliable broadcast protocols

    Reliable broadcast protocols experimentation and evaluation environment (ADC)

    No full text
    Uma tendência recente em sistemas de computação é distribuir a computação entre diversos processadores físicos. Isto conduz a dois tipos de sistemas: sistemas fortemente acoplados e sistemas fracamente acoplados. Este trabalho enfoca os sistemas de computação classificados como fracamente acoplados, ou sistemas distribuídos, como são popularmente conhecidos. Um sistema distribuído, segundo [BAB 86], pode ser definido como um conjunto de processadores autônomos que não compartilham memória, não tem acesso a clocks' globais e cuja comunicação é realizada somente por troca de mensagens. As exigências intrínsecas de sistemas distribuídos compreendem a confiabilidade e a disponibilidade. Estas exigências tem levado a um crescente interesse em técnicas de tolerância a falhas, cujo objetivo é manter a consistência do sistema distribuído, mesmo na ocorrência de falhas. Uma técnica de tolerância a falhas amplamente utilizada em sistemas distribuídos é a técnica de difusão confiável. A difusão confiável é uma técnica de redundância de software, onde um processador dissemina um valor para os demais processadores em um sistema distribuído, o qual esta sujeito a falhas [BAB 85]. Por ser uma técnica básica de comunicação, diversos procedimentos de tolerância a falhas baseiam-se em difusão confiável. Este trabalho descreve a implementação de um ambiente de apoio a sistemas distribuídos intitulado Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável (ADC). Neste ambiente são utilizados os recursos da difusão confiável para a obtenção de uma concordância entre todos os membros do sistema livres de falha. Esta concordância, conhecida como consenso, é obtida através de algoritmos de consenso, os quais visam introduzir o grau de confiabilidade exigido pelos sistemas distribuídos. O ADC (Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável) foi desenvolvido em estações de trabalho SUN (SunOS) utilizando o sistema operacional de rede heterogêneo HetNOS [BAA 93] desenvolvido na UFRGS. O ambiente foi implementado com base em um estudo realizado sobre protocolos de difusão confiável [BAR 94]. Através da implementação do ADC e possível simular a execução de protocolos de difusão confiável aplicando modelos propostos para os mesmos. Desta execução são extraídos resultados, sobre os quais pode-se realizar uma analise. Esta análise tem sua fundamentação principalmente nos parâmetros de desempenho, confiabilidade e complexidade. Tanto a implementação do ADC como a realização da analise do modelo proposto foram realizados tendo como suporte alguns dos protocolos de difusão confiável disponíveis na literatura. O principal objetivo deste ambiente consiste na experimentação, ou seja, na verificação da relação teórico-prática dos sistemas distribuídos perante a utilização de uma técnica de redundância de software, a difusão confiável. Através deste ambiente torna-se possível a determinação de parâmetros tais como o número de mensagens de difusão trocadas entre os processos, o número de mensagens de retransmissão enviadas, o número de mensagens emitidas durante todo o processamento do modelo, etc. Estes parâmetros resultam numa analise consistente de protocolos de difusão confiável.A recent trend in computing systems is to distribute the computation between several physical processors. This leads to two different systems: closely coupled systems and loosely coupled systems. This work focuses on computing systems classified as loosely coupled or distributed systems, as they are commonly known. According to [BAB 86], a distributed system can be defined as a set of autonomous processors with no shared memory, no global clocks and whose comunication is performed only by message exchange. The inherent requirements of distributed systems include reliability and availability. These have caused an increasing interest in fault tolerance techniques, whose goal is to keep the distributed system consistent despite failures. A fault tolerance technique largely used in distributed systems is reliable broadcast. Reliable broadcast is a software redundancy technique, where a processor disseminates a value to other processors in a distributed system, in which failures can occur [BAB85]. Because it is a basic communication technique, several fault tolerance procedures are based on reliable broadcast. This work describes the implementation of a support environment for distributed systems called Reliable Broadcast Protocols Experimentation and Evaluation Environment (ADC). Reliable broadcast resources are used in this environment to obtain an agreement among all off-failure system components. This agreement, called consensus, has been obtained through consensus algorithms, which aim to introduce the reliability degree required in distributed systems. The ADC has been developed in Sun workstation (SunOS) using the heterogeneous operating system HetNOS [BAA 93] which was developed at UFRGS. The environment has been implemented based on a research about reliable broadcast protocols [BAR 94]. Through the ADC it is possible to simulate the execution of reliable broadcast protocols applying proposed models to them. From this execution results are extracted, and over them analysis can be done. This analysis has been based essentialy in parameters such as performance, reliability and complexity. Some classical reliable broadcast protocols were used as a support to ADC implementation and model analysis. The main goal of this environment consists in validating diffusion protocols in a practical distributed systems environment, facing reliable broadcast. Through this environment it can be possible the analysis of important parameters resolution such as the number of messages exchanged between process, the number of retransmission of messages sent, the number of messages sent during the whole model processing, others. These parameters result in a consistent analysis of reliable broadcast protocols

    Priorização no Balanceamento de Réplicas em Instâncias Heterogêneas do HDFS baseada na Capacidade dos Nodos

    No full text
    International audienceThe HDFS Balancer is an Apache Hadoop daemon that redistributes blocks by moving them across the cluster until the utilization of every node is within a certain threshold. However, the balancer tool is not optimized for HDFS instances running in heterogeneous environments. This work presents a customized balancing policy for HDFS Balancer that allows data distribution based on differences in the capacities of the nodes. Thus, nodes with high capacity are prioritized to receive a high number of replicas during block rearrangement.O HDFS Balancer é o balanceador de réplicas nativo do Apache Hadoop, que opera em redistribuir os blocos de dados armazenados no sistema até que a utilização de todos os nodos do cluster fique dentro de um determinado threshold. Entretanto, a ferramenta não é otimizada para o balanceamento de instâncias do Hadoop executando em ambientes heterogêneos. Esse trabalho apresenta uma customização na política de operação padrão do HDFS Balancer que faz com que o reposicionamento das réplicas seja realizado considerando diferenças nas capacidades dos nodos. Dessa forma, nodos com alta capacidade são priorizados para o recebimento de um maior volume de dados

    Investigação Experimental do Balanceamento de Réplicas no Sistema de Arquivos do Apache Hadoop

    No full text
    International audienceO mecanismo de replicação de dados é a base para o funcionamento do HDFS, o sistema de arquivos do Apache Hadoop. Seguindo uma política de posicionamento, as réplicas são dispostas entre os nós do cluster, porém não há garantias de um balanceamento efetivo durante esta distribuição. Este trabalho investiga mudanças de comportamento no HDFS mediante o balanceamento de réplicas, considerando a indução deliberada de falhas em diferentes cenários

    Política Customizada de Balanceamento de Réplicas para o HDFS Balancer do Apache Hadoop

    No full text
    International audienceData replication is a fundamental mechanism of the Hadoop Distributed File System (HDFS). However, the way data is spread across the cluster directly affects the replication balancing. The HDFS Balancer is a Hadoop integrated tool which can balance the storage load on each machine by moving data between nodes, although its operation does not address the specific needs of applications while performing block rearrangement. This paper proposes a customized balancing policy for HDFS Balancer based on a system of priorities, which can be adapted and configured according to usage demands. The priorities define whether HDFS parameters, or whether cluster topology should be considered during the operation, thus making the balancing more flexible.A replicação de dados é a base para o funcionamento do sistema de arquivos distribuído do Apache Hadoop (HDFS). Todavia, a forma como os dados são posicionados no cluster impacta diretamente o balanceamento de réplicas. O HDFS Balancer é uma solução integrada ao Hadoop que visa o equilíbrio do sistema, porém sua operação não permite explorar as necessidades específicas das aplicações. Este trabalho propõe uma política de balanceamento customizada para o HDFS Balancer baseada em um sistema de prioridades, que pode ser adaptado e configurado de acordo com as demandas de uso. As prioridades permitem definir quais parâmetros do HDFS ou da topologia do cluster devem ser considerados, assim flexibilizando o balanceamento

    Efetividade da Política de Posicionamento de Blocos no Balanceamento de Réplicas do HDFS

    No full text
    International audienceThe Hadoop Distributed File System (HDFS) is designed to store and transfer data in large scale. To ensure availability and reliability, it uses data replication as a fault tolerance mechanism.~However, this strategy can significantly affect replication balancing in the cluster. This paper provides an analysis of the default data replication policy used by HDFS and measures its impacts on the system behavior, while presenting different strategies for cluster balancing and rebalancing. In order to highlight the required requirements for efficient replica placement, a comparative study of the HDFS performance has been conduct considering a variety of factors that may result in cluster imbalance.O HDFS, sistema de arquivos distribuído do Apache Hadoop, foi projetado para armazenar e transferir volumes massivos de dados. Para garantir confiabilidade e disponibilidade, o HDFS utiliza a replicação de dados como técnica de tolerância a falhas. No entanto, esta estratégia pode afetar significativamente o balanceamento de réplicas no cluster. Este trabalho analisa o modelo de replicação adotado pelo HDFS e mede seu impacto no comportamento do sistema, enquanto pontua possíveis abordagens de balanceamento. De forma a evidenciar os requisitos necessários para um posicionamento de réplicas eficiente, um estudo comparativo do desempenho do HDFS foi conduzido levando em consideração diferentes fatores que podem resultar no desbalanceamento

    Análise do Impacto da Replicação de Dados Implementada pelo Apache Hadoop no Balanceamento de Carga

    No full text
    International audienceBig Data processing tools, such as Apache Hadoop, should ensure data integrity and availability through fault tolerance mechanisms. The HDFS, Hadoop Distributed File System, implements several fault tolerance techniques, among them the traditional data replication. To deal with highly scalable clusters, there is a concern in validate if the replicated data is spread homogeneously among the computational nodes. In this paper, we analyze experimentally the behavior of HDFS in scenarios with and without the occurrence of failures in order to collect metrics of load balancing regarding the process of data replication adopted by Apache Hadoop. Additional experiments measure the performance achieved by balancing a cluster.Ferramentas especializadas em Big Data, como o Apache Hadoop, devem portar meios que garantam a integridade e a disponibilidade dos dados. Para tal, o HDFS, sistema de arquivos distribuído do Hadoop, faz uso de diversas técnicas de tolerância a falhas, dentre elas a replicação de dados. Tratando-se de clusters altamente escaláveis, há a preocupação em verificar se a distribuição dos dados replicados ocorre de forma homogênea. Este trabalho analisa experimentalmente o comportamento do HDFS em cenários com e sem a ocorrência de falhas, avaliando o desbalanceamento de carga resultante do processo de replicação de dados implementado pelo Apache Hadoop. Experimentos adicionais medem o desempenho alcançado ao balancear um cluster

    Arquitetura para Elaboração de um Histórico de Atributos Relacionados à Técnica de Checkpoint and Recovery

    No full text
    International audienceOptimal attributes for checkpoint and recovery technique are hard to find due to system distinct behaviours over the time. This work proposes an architecture to store system elements usage on a historical record structure. The goal of historic is to provide statistical informations about system usage, in order to help on checkpoint period taking decisions. In this way, the architecture already proposed for dynamic checkpoint configuration will be able to use approximations for setting proper checkpoint attributes
    corecore